package com.sca;

import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

/**
 * @Desc: 订单微服务启动类
 *
 * @SpringCloudApplication是一个组合注解，包含以下三个的组合
 * 	SpringBootApplication //SpringBoot注解
 * 	@EnableDiscoveryClient //注册服务中心Eureka注解
 * 	@EnableCircuitBreaker //断路器注解
 *
 * @Author: hwx
 * @Date: 2020/5/26 14:15
 * @Version: v1.0
 **/
@SpringCloudApplication
//@EnableFeignClients	//激活eureakaserver
@EnableCircuitBreaker    //激活hystrix  // 开启 hystrix:enabled: true
public class ribbonApplication {

	public static void main(String[] args) {
		SpringApplication.run(ribbonApplication.class, args);
	}

	/**
	 * 使用spring提供的RestTemplate发送http请求到商品服务
	 * 1.创建RestTemplate对象交给容器管理
	 * 2.在使用的时候,调用其方法完成操作 (getXX,postxxx)
	 *
	 * 开启负载均衡
	 * 加入：@LoadBalanced注解 --> ribbon提供的负载均衡的注解
	 *
	 * @author: hwx
	 * @Date: 2020/5/26 14:19
	 * @return:
	 */
	@LoadBalanced
	@Bean
	public RestTemplate restTemplate() {
		return new RestTemplate();
	}


}